XPostFacto is a utility which helps to install and boot Mac OS X, Mac OS X Server, and Darwin on certain unsupported systems. The only difference from a supported installation is 3 extra clicks of your mouse! When Mac OS X installs successfully, its stability on unsupported systems appears to be excellent. However, there are cases in which Mac OS X is difficult to install, and there are a variety of problems you can run into. So read carefully.
XPostFacto is a free, open-source application. However, I would encourage you to register for XPostFacto support, which costs $10. This will give you access to the tech support forum on this site. I do also answer e-mail, but I will catch up on the tech support forum before I catch up on e-mail.
You should also remember to check the online version of this documentation from time to time, to see whether there have been any changes.
XPostFacto 2.2 works with Mac OS X 10.2, aka Jaguar (as well as previous versions of Mac OS X). There are a couple of issues with Jaguar on unsupported systems. The most serious is that Jaguar simply does not work with the 603 or 604 processor--it is limited to the G3 and G4. It may be possible to fix this eventually. Also, at first, Classic did not work in Jaguar if you had a G4 upgrade card. But version 2.2.2 of XPostFacto fixes this.
The changes since version 2.2b17 are as follows:
And here is a summary of the changes since version 2.11 (the last non-beta version):
Fixes a problem which prevented some of the kernel extensions from loading properly in 2.2b15, which could cause a kernel panic early in the boot process.
Remember that this is a beta version--let someone else find the bugs for me if you cannot afford to have problems!
Here is a checklist of things to consider before attempting to install Mac OS X with XPostFacto.
XPostFacto works with some unsupported machines, but not all of them. Here are the machines that XPostFacto can work with:
These are the 7300, 7500, 7600, 8500, 8600, 9500, and 9600, as well as the clones that were based on one of these systems (the Umax S900 and J700, the PowerComputing PowerWave and PowerTower Pro, and the Daystar Genesis and Millennium, among others).
XPostFacto will work with the Beige G3s. Of course, these computers are supported by Apple for Mac OS X. However, there are situations in which it is difficult to install or boot Mac OS X on those machines, especially if you have a G4 CPU upgrade installed. In those cases, XPostFacto sometimes helps.
These are the original Powerbook G3, the 2400 and the 3400. However, there are significant limitations in the support for these machines at this time. The most serious limitation is that sleep does not work. On some models, the built-in ethernet connection also does not work. There are additional details below.
I should warn potential users that Mac OS X is pretty slow on the 2400 and 3400. But an XPostFacto user was kind enough to bring his 2400 running Mac OS X to show me at MacWorld NY, and it was pretty cool to see.
Support for other models is in development. Some users have recently had success with some of the "Catalyst" machines (in particular, the PowerCenter and PowerCenter Pro). However, this is not well tested yet, and certain configurations are likely to be problematic. Also, some progress has been made with the Alchemy and Gazelle (the 6400 and 6500), but they are not working yet.
The basic requirement for Mac OS X to ever work on a machine is that it have a PowerPC processor, a PCI bus, and Open Firmware. So the earliest PowerPC computers from Apple (e.g. the 6100, 7100, and 8100) are not likely to ever work with Mac OS X.
XPostFacto does not run in Mac OS 8, so you need to have at least Mac OS 9.0 installed to use it. XPostFacto will run in Mac OS 9.0, 9.1 or 9.2. (It requires Mac OS 9.x in order to be able to copy files with long filenames from the Mac OS X Install CD to your hard drive).
If you do not already have Mac OS 9.x installed, the problem is that Mac OS 9.2 does not ordinarily work on older machines, and it is not so easy to buy Mac OS 9.0 or 9.1 anymore. There are some procedures out there for installing 9.2, but I have not tried them myself. Further information is available at http://www.xlr8yourmac.com/OS9/os_9_2_1_install_mods.html and http://www.os9forever.com.
Apple recommends a minimum of 128 MB of RAM to run Mac OS X. But more is better, especially if you are planning to make use of the Classic environment to run Mac OS 9. I would suggest at least 256 MB.
If RAM is tight, and you still want to install Mac OS X, I have heard of cases where people have done so in as little as 64 MB. But that is not recommended.
The bare minimum space required for installing Mac OS X is about 1.5 GB. However, a more realistic minimum is 2 GB. And more is better, depending on how much space your applications and data are likely to need.
You need a disk that was formatted with Apple's Drive Setup or Intech's Hard Disk SpeedTools
In order to boot Mac OS X on older machines, the disk you are using to boot from must have been formatted with Apple's Drive Setup or Intech's Hard Disk SpeedTools. Disks formatted with other formatting utilities generally are not bootable on older machines with Mac OS X. (The symptom is that when you try to reboot, you will end up back in Mac OS 9 instead of Mac OS X). If you are using Intech's Hard Disk SpeedTools, make sure that you have upgraded to the most recent version, as previous versions had some difficulty with the Mac OS X Installer.
Once you have Mac OS X installed, it is possible to use the Mac OS X Disk Utility to format disks. However, those disks do not appear to be bootable on older machines, even if you check the "Install Mac OS 9 Drivers" checkbox. So it seems best to use the Mac OS 9.x version of Drive Setup to format drives instead.
The ideal strategy for installing Mac OS X is to have three separate partitions: one for Mac OS X, one for Mac OS 9.1, and one for Classic. These partitions can be on the same disk or on separate disks--it does not matter.
The advantage of having Mac OS X on a separate partition from Mac OS 9.1 is that you can install Mac OS X without touching your current installation. This provides some peace of mind, in case anything should go wrong when installing Mac OS X.
It is possible to install Mac OS X on the same partition as Mac OS 9. However, the Mac OS X Installer will "bless" the Mac OS X installation, which "de-blesses" the Mac OS 9 System Folder. The Mac OS 9 System Folder can be re-blessed (most easily with the Startup Disk preference panel in the Mac OS X System Preferences application), but that process can become tricky in situations where Mac OS X does not boot correctly after the first install. (There are some troubleshooting suggestions below if you find yourself in this situation).
The advantage of having Mac OS 9.1 on a separate partition from Classic is that certain extensions and control panels are problematic in Classic (or simply not needed). Having a separate partition permits you to do a bare-bones install with only the things actually needed for Classic, and still have another partition to use when you want to reboot into Mac OS 9.x. The other advantage is that it is possible to install and use Mac OS 9.2 for Classic, even though it will not be bootable apart from Classic.
It is possible to use the same partition for your bootable Mac OS 9.1 and for Classic. If you do that, then you will need to remove any problematic extensions or control panels. Alternatively, you can use the Classic preferences in Mac OS X to disable some extensions or control panels when using Classic.
So if you have three partitions available, it is ideal to use one for Mac OS X, one for Mac OS 9.x, and one for Classic. If you have two partitions, then Classic and Mac OS X can coexist on the same partition. And if you have only one partition, then everything can coexist together, with some disadvantages. (Of course, the size of the partitions available to you will also influence your strategy).
If you are installing onto an ATA drive, there are some cases in which you must install onto a partition that is entirely within the first 8 GB of the drive. The Mac OS X Installer enforces this limit, so if you are unable to select your desired partition, that may be the reason.
It is a good idea to backup your data before attempting a major installation, and doubly so before attempting something that Apple does not support! So you should consider whether you have a good backup system in place at the moment. (You could also consider what backup system you will use once Mac OS X is installed. One option is to copy drives with a utility such as Carbon Copy Cloner--using a Firewire drive for this purpose can be handy. And Retrospect now has a Mac OS X compatible version, for more sophisticated backups).
You need to review your PCI cards and other peripherals for compatibility
Compatibility is a large subject--you can consult my compatibility page for a longer (though still incomplete) discussion. Here I will briefly discuss a few issues that sometimes prevent a successful install.
If you are installing Mac OS X 10.0, then you may need to remove Firewire/USB cards, until you have completed the install and upgraded to Mac OS X 10.1. Mac OS X 10.0 had some trouble with Firewire and USB, but Mac OS X 10.1 is much improved.
Some video cards are problematic in Mac OS X. Check the compatibility page for details.
The Mac OS X 10.1 Install CD has a more complete set of drivers for SCSI and ATA cards than does the Mac OS X 10.0 CD (and, presumably, the 10.2 CD will be even better). Check the compatibility page for details.
Some older CD-ROM devices do not work with Mac OS X. The symptom that you will get in this case is the message "still waiting for root device" when booting in verbose mode (with command-v held down at startup).
I almost forgot to mention this one! You can use XPostFacto to install Mac OS X, Mac OS X Server, or Darwin. But you do need the Install CD. XPostFacto should work with Mac OS X 10.0, 10.1, and 10.2, as well as their Mac OS X Server and Darwin equivalents.
Here is a quick survey of what works and what doesn't work on the machines that XPostFacto supports. For information about the compatibility of peripheral devices, check the compatibility page.
Mac OS X 10.2 does not work with a 603 or 604 CPU either. It is possible that this may be fixed in time, once Apple makes the latest kernel sources available.
If you install a G3 or a G4 upgrade, you will need some software to enable the L2 cache in Mac OS X. You can use my L2CacheConfig software, or the PowerLogix cache control software, which is also free. Your computer will work without enabling the L2 cache--it will just be slower. L2CacheConfig required some changes to work with Mac OS X 10.2, so you should upgrade to version 3.3 of L2CacheConfig before installing Mac OS 10.2.
The 9500MP and 9600MP work, but only one processor is active at this time. I have been working on MP support from time to time, but have not made much progress lately.
Sound in does not work yet.
Video in and out does not work yet (on those models that have it--the 7600 and 8600, I believe).
System sleep is not working yet. On the desktop models, it fails gracefully (or at least reasonably gracefully--I seem to lose my Internet connection sometimes). On the Powerbooks, however, sleep crashes the system. So it is important to turn sleep off in the Energy Saver preference panel in the System Preferences application.
So, you have reviewed the checklist of things you need before using XPostFacto, and you have some idea of what works and what doesn't. Now, you ask, how do I actually go about using XPostFacto?
Let me emphasize one last time that you need to be cautious when doing a major installation of this kind. Installing Mac OS X has worked very easily and reliably for some, while others have had significant problems that have not always been readily explained. There have been cases in which installing Mac OS X has been unsuccessful, and the computer has failed to boot at all--it appears to be "dead." If you read the tech forum, you will see that there has been some vigorous debate about whether the computer is ever "really" dead--in almost all cases, it has been possible to get it to boot again (until recently, I would have said "all cases"). But there are a handful of users who have either given up or come very close to it.
So you should ask yourself two final questions:
Then take a deep breath, and follow the following procedure:
XPostFacto will copy some kernel extensions to the target volume. Then it installs a modified version of BootX that will use these kernel extensions (along with the standard extensions on the CD). Then it will restart the computer.
The Mac OS X Installer runs in Mac OS X, so you will be booting into Mac OS X at this stage. It can take a few minutes, so you need to be a little patient. It is possible for the installation to fail at this point, either with an explicit error message, or a rainbow cursor that spins forever, or by rebooting into Mac OS 9, or just a blank screen. See the troubleshooting tips below if this happens to you.
When you reach the Mac OS X Installer, select the target volume again (make sure to select the same one). Do not reformat the target volume at this point, as we need to keep the files that we have already copied there. Follow the rest of the Installer's instructions as usual.
Once you have finished installing Mac OS X, the installer will reboot your system. Once you have successfully rebooted, remember to go to the "Energy Savers" panel in "System Preferences" and set your computer and hard drive to never sleep. System sleep does not work well on unsupported systems. However, display sleep is OK, and drive sleep is OK in Mac OS X 10.1.
After you reboot into Mac OS 9, you can use XPostFacto to return to Mac OS X. Simply select the desired startup volume and press the restart button. XPF will write the required settings to non-volatile RAM (NVRAM), and restart the computer. (Restarting from the Finder is not affected by your selection here.
XPF will only startup Mac OS X. To choose a different Mac OS 9 volume, use the Startup Disk control panel instead. However, do not use Startup Disk to choose a Mac OS X volume on unsupported machines, as it will not work, and may require you to zap your parameter RAM.
Version 2.0 of XPostFacto will install Mac OS X 10.1, and version 2.2b15 will install Mac OS X 10.2. To do the install, you follow the same steps listed above. The procedure is the same whether you are upgrading or doing a fresh install--in both cases, you need to boot from the Mac OS X Install CD, so you need to use XPostFacto's special install procedure.
For the minor Mac OS X upgrades (e.g. from 10.1 to 10.1.5), you can use the 'Software Updates' mechanism or the downloadable installers as usual--they have, so far, worked without XPostFacto's help.
It is sometimes more convenient to use the command-v and command-s keys at startup to choose verbose mode or single-user mode. The command keys affect only one session, whereas the settings you make in XPF last until you change them.
If you check the "Reinstall Kernel Extensions" menu item in the "Advanced" menu, the extensions required for older systems will be reinstalled when you restart. You can also use the 'OldWorld Support' package included in this distribution to install those extensions from within Mac OS X.
Here are some tips you can use if you run into trouble.
If you have installed Mac OS X on the same partition as Mac OS 9, rebooting with the option-key down may not work, because the Mac OS X installation process "de-blesses" the Mac OS 9 System Folder. In those cases, you can reboot from the Mac OS 9 CD with the "c" key held down, and take steps to "re-bless" the Mac OS 9 System Folder. The simplest method is to drag the System or Finder file to the desktop and then back into the System Folder. If that doesn't work, one user suggests command-option-double-clicking on the Finder file (I have not tried that yet). Also, you could check to see whether the /System/Library/CoreServices folder has been blessed by the Mac OS X Installer. In that case, you could de-bless that folder by dragging out the fake System file located there. You should then be able to re-bless your Mac OS 9 System Folder.
Here are some steps you can take to diagnose problems.
If you cannot successfully boot, then the most important thing is to try booting in verbose mode. Hold down command-v as the computer restarts, and note any error messages which appear.
If you do not get any text in verbose mode, you can use the 'Open Firmware' menu to diagnose the earliest part of the boot process. The items in that menu have the following meanings:
auto-boot?
- When this is selected (the default setting), your computer will boot in the ordinary way. When it is unselected, the computer will stop at the Open Firmware prompt when you boot. If you have no idea what the Open Firmware prompt is, you should leave this checked. If you do uncheck it, make sure that you set up the input-device and output-device.
input-device
- This is the device that will provide input at the Open Firmware prompt (should you stop there). Generally, you will want this to be the keyboard, but you can choose the modem or printer port as well.
output-device
- This is the device that will receive output at the Open Firmware prompt. Generally, you will want this to be the built-in monitor, or a video card. You can also choose the modem or printer port.
By selecting an input-device and output-device, and then holding down command-v as the computer restarts, you will get additional diagnostic messages earlier in the boot process.
If you still get no text in verbose mode, then there are a couple of things you can try.
If you have a G3 or G4 upgrade card, you can try adjusting the setting in the "Throttle" menu of XPostFacto. The "throttle" menu allows you to adjust the speed of your G3 or G4 upgrade card during the earliest part of the boot process. For some users, this solves a problem booting from certain SCSI devices. Once the earliest part of the boot process is complete, the processor will be reset to its full speed.
The higher the throttle setting, the slower the processor is during the early boot process. Several users have reported that a setting of 4 or higher allows them to boot on certain problematic drives, while 3 or less fails. I have set the default to 8, but would be interested in any reports if you should experiment with this.
You can also try adjusting the clock speed or bus speed of your CPU upgrade.
Sometimes, problems booting have to do with RAM. It is sometimes best to de-interleave RAM, especially with CPU upgrades. You do this by making sure that matching DIMM slots do not have matching memory modules. Also, there are occasions where a particular DIMM which works in Mac OS 9 is problematic in Mac OS X. So you can try swapping out DIMMs to see if you can isolate a problematic one.
If you do get text in verbose mode, then note any error messages, and note what the last messages are before the process grinds to a halt. If the last messages are a repeated "Still waiting for root device", then it means that Mac OS X is having some trouble with your CD-ROM device.
If you get a kernel panic, then the best thing is to take a picture of your screen with a digital camera, post the picture on the web somewhere, and then post a link the tech forum (or send me an e-mail, but the tech forum is faster). If you don't have a digital camera, then copy down all the information and type it up. (It is tedious, but there is no better way).
One useful troubleshooting measure, especially for kernel panics, is to remove any unnecessary PCI cards and try again. If that works, you can add cards back in until you have figured out which one is causing trouble.
If you get as far as the Mac OS X Installer and then have problems, there are a couple of possibilities.
If you get random freezes (that is, the cursor stops moving and you get no error message of any kind), then the most common reason is trouble with your RAM. You can try swapping out DIMMs and see whether you can isolate a problematic one. (There are cases where DIMMs which are fine in Mac OS 9 are problematic in Mac OS X).
If you get an error message about not being able to write a file, or read a file, then I am not entirely sure what the problem is. In some cases, using a different install CD helps. In some cases, reformatting the target volume helps. But there are cases where this problem goes unsolved.
If you are getting kernel panics with the multilingual text screen that tells you that you need to reboot, you might want to turn on the "See panic text" option. This will show you the traditional panic text instead, which can be helpful for figuring out what is causing the panic.
XPF makes use of the zlib compression library, for which I wish to thank Jean-loup Gailly and Mark Adler.
El-Gato Software contributed a bug fix that helps support additional SCSI CD-ROM, CD-R and CD-RW devices.
Joshua Thorpe suggested the new name.
Michel Lanners wrote the Forth code to permit processor throttling in Open Firmware, and Matt Schechtman passed it along to me.
Pierre d'Herbemont has done some terrific work on 6400 support.
I would also like to thank Other World Computing (Larry O'Connor in particular) for their generous support.
XPostFacto itself is subject to the following licence:
Copyright (c) 2001, 2002, Other World Computing. All rights reserved.Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer as the first lines of each file.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- Redistributions in binary form must retain the link to Other World Computing's web site in the application's "About Box."
This software is provided by Other World Computing ``as is'' and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall Ryan Rempel or Other World Computing be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.